草庐IT

android - DOM解析Android

全部标签

javascript - DevTools 性能工具中的解析、编译和评估是什么?

在Chromes的性能选项卡中运行JS脚本时,我看到JS解释分为三个步骤:Parse、Compile和Evaluate。有时我只会看到Evaluate,有时会看到Compile和Evaluate,有时会看到全部三个。我的问题是:每个步骤的实际含义是什么?为什么有时会缺少步骤?(例如,有时Parse会丢失) 最佳答案 解析:js引擎检查代码,确定所有不同的范围、变量声明等,并对它们进行排序。在这一步也会发生提升。基本上你的纯文本源代码变成了AbstractSyntaxTree(AST)编译:ChromeV8使用JIT编译,这意味着部分

javascript - 什么是好的 Javascript RDFa 解析器实现?

我希望为Web应用程序实现基于客户端RDFa的格式设置。这类似于MarkBirbeck'subiquity-rdfa项目。Mark的项目看起来很棒,但它至少有两个缺点:它很慢。将RDFa格式添加到simplepage导致页面加载明显延迟。它很复杂。ubiquity-rdfa项目使用w3cfresnelspecification这是向客户端标记添加简单注释的复杂方法。我正在寻找一种通过客户端代码添加注释的轻量级方法,我不介意做一些工作来获得它。我想要的是一个快速可靠的JavascriptRDFa解析器。我发现的一些实现包括:W3CRDFabookmarkletparserEliasTor

javascript - 为什么 Selenium 找不到动态添加的 DOM 元素?

我用jQuery添加了一个DOM元素(一个链接)。我可以在Firebug中看到该元素,但由于某种原因Selenium找不到它。这是怎么回事?注意:不涉及AJAX,因此几乎立即添加了DOM元素。==编辑==这里有一些代码(使用jQuery)将链接附加到文档的末尾:$element=$("");$element.appendTo($("body"));我正在使用Capybara(带有Selenium)来查找链接并单击它,如下所示:find("#foo").click在我开始使用jQuery向DOM添加元素之前,我对Capybara或Selenium没有任何问题。

javascript - 简单的递归下降解析器?

我正在为一种编译成JS(如果相关的话)的模板语言编写解析器。我从几个简单的正则表达式开始,它们似乎可以工作,但正则表达式非常脆弱,所以我决定改写一个解析器。我首先编写了一个简单的解析器,它通过压入/弹出堆栈来记住状态,但事情一直在升级,直到我手上有了一个递归下降解析器。不久之后,我比较了我以前所有解析方法的性能。递归下降解析器到目前为止是最慢的。我被卡住了:是否值得为一些简单的事情使用递归下降解析器,或者我是否有理由走捷径?我很想走纯正则表达式路线,它非常快(几乎比RD解析器快3倍),但在某种程度上非常hacky和不可维护。我认为性能不是非常重要,因为编译后的模板被缓存了,但是递归下降

javascript - 在页面加载之前使用 Firebug 调试 DOM 突变

我在调试DOM更改时遇到问题,这些更改是由我正在运行的某些JavaScript代码引入的。在代码的某处,元素的类发生了变化,我正在试图查明位置。不幸的是,新的类名太过通用以至于搜索所有JS代码会得到太多结果而不是一个可行的选择。我试过使用Firebug进行一些调试,但尽管"BreakonAttributeChange"feature不错,我无法让它以我想要的方式工作。Firebug演示工作正常,但这是加载后的情况。问题似乎是我想在页面完全加载之前观察突变。我假设更改发生在$(document).ready()中的某处,所以它在DOM中,但我无法为UI断点选择元素演示案例(页面加载后)。

javascript - 如何在不更改 DOM 的情况下计算文本选择的高度

我正在使用Range来操作选定的文本。我想计算从开始选择文本到完成选择文本的高度。我已经尝试跨度到所选范围的开始和结束,我可以准确地计算出它的高度,但它会改变DOM并阻止我进行一些其他范围操作,例如突出显示先前选择的文本。我也尝试收集mosedown和mosueup位置的位置,但我需要从所选文本的顶部到释放选择的文本底部的准确高度,但情况并非总是如此。所以我想知道是否有一种方法可以在不更改DOM的情况下计算文本选择的高度? 最佳答案 这取决于您需要处理哪些浏览器。这是一个可以在IE>=4和支持Range中的getClientRect

javascript - YUI 3 : How to get native DOM element wrapped inside Node?

我已经使用这种简单的技术在jQuery中获取nativeDOM元素:varel=$('#myid');varnative=el[0];//orel.get(0);我如何在YUI3中执行此操作?例如,我想使用YUI3不支持的getElementsByNameDOM方法。 最佳答案 varel=Y.one("#myid");varnative=el.getDOMNode();如果您不能确定“#myid”在DOM中,那么您应该首先检查是否为null。YUI的.one不像jQuery那样链接。varel=Y.one("#myid"),nat

javascript - DOMParser 注入(inject) DOM 但注入(inject)后不应用 css 样式表?

我有一个小测试用例:http://jsfiddle.net/9xwUx/1/代码归结为以下内容(给定一个id为“target”的节点):varstring='thisshouldbepink,butisnot';varparser=newDOMParser();vardomNode=parser.parseFromString(string,"text/xml");document.getElementById("target").appendChild(domNode.firstChild);如果您运行测试用例,然后通过firebug/chrome网络检查器检查目标节点并选择jsfi

javascript - 使用 Javascript 将文本 CSS 解析为 JSON

我只是想要一些东西,它可以将充满CSS的文本区域并使用CSSJSON方法将其转换为JSON。{"selector-1":{"property-1":"value-1","property-n":"value-n"}}http://www.featureblend.com/css-json.html有人知道可以将CSS解码为JSON的东西吗?如果它也可以对其进行编码,那也会很有帮助。 最佳答案 这个js解析器有你正在寻找的两种方法。CSSJSONparser//ToJSONvarjson=CSSJSON.toJSON(cssStrin

javascript - 如何编写一个将项目附加到 DOM 并延迟下一个 Tick 的函数?

我最近在网上发现了以下问题:WriteafunctionthattakesanobjectandappendsittotheDOM,makingitsothateventsarebuffereduntilthenexttick?Explainwhythisisuseful?这是我的回复:functionappendElement(element){setTimeout(function(){document.body.appendChild(element);},0);}为什么我将间隔设置为零?根据thisarticle,将超时设置为0,将事件延迟到下一个滴答:Theexecution